2023/12/231750字符
命名空间
1. 对象式命名
var org = {
department1: {
zhangSan: {
name: 'abc',
age: 100
}
},
department2: {
liSi: {
name: 'abc',
age: 100
}
},
department3: {
wangWu: {
name: 'abc',
age: 100
}
}
}
zhangSan.name
2. 通过闭包进行私有化
var name = 'bcd';
var init = (function(){
var name = 'abc';
function callName(){
console.log(name);
}
return function(){
callName();
}
}())
init();
var name = 'bcd';
var initBoZai = (function(){
var name = 'hehe';
function callName(){
console.log(name);
}
return function(){
callName();
}
}())
initBoZai();
连续调用
var deng = {
smoke : function(){
console.log("smokeing...!!!");
return this;
},
drink : function(){
console.log("drinking...!!!");
return this;
},
perm : function(){
console.log("perming...!!!");
return this;
}
}
deng.smoke().drink().perm().drink(); /*--> smokeing...!!!
drinking...!!!
perming...!!!
drinking...!!! */
3. obj.name -- 隐式转换 --> obj['obj']
var deng = {
wife1 : {name : "zhangsan"},
wife2 : {name : "lisi"},
wife3 : {name : "wangwu"},
wife4 : {name : "zhaoliu"},
sayWife : function(num){
return this['wife' + num];
}
}
deng.sayWife(1); //--> {name: "lisi"}